package com.mileoresko.hierarchism.system;

import com.mileoresko.hierarchism.HSMEvent;
import com.mileoresko.hierarchism.HierarchicalStateMachine;

public interface SchedulingServices {
    public Object scheduleOneTimeEvent(HierarchicalStateMachine hsm, HSMEvent event, Object arg, long intervalMs);

    public Object scheduleRepetitiveEvent(HierarchicalStateMachine hsm, HSMEvent event, Object arg, long firsDelay,
            long intervalMs);

    public void cancelPendingEvents(Object scheduledEvent);
}
